package com.cty;


import com.cty.dyn.ProxyFactory;
import com.cty.statics.StaticProxyCalculator;

//使用代理类
//用的时候用代理类，静态代理方法
public class Use {
    public static void main(String[] args) {
        //先创建一个目标类
        Calculator target = new CalculatorPureImpl();
        //在创建一个代理类
        Calculator proxy = new StaticProxyCalculator(target);
        //调用方法(调用的是代理类的方法)
        int add = proxy.add(1, 1);
        System.out.println(add);

        //创建目标工厂，填入目标类
        ProxyFactory factory = new ProxyFactory(target);
        //获得代理类转成接口形式
        Calculator proxy1 = (Calculator) factory.getProxy();
        proxy1.add(1,1);
    }
}
